package com.hsnn.medstgmini.sys.service;

import java.util.List;

import com.hsnn.medstgmini.pro.project.model.BidProject;
import com.hsnn.medstgmini.sys.model.BidProjNotice;
import com.hsnn.medstgmini.sys.model.SysNotice;
import com.hsnn.medstgmini.sys.model.SysNoticeLog;
import com.hsnn.medstgmini.util.Pagination;

public interface SysNoticeManager {
	/**
	 * @category 获取系统公告列表
	 * @date 2015年8月20日15:44:13
	 * @author zhouqi
	 * @param Pagination
	 * @return Pagination
	 */
	Pagination getSysNoticeList(Pagination page);
	
	/**
	 * @category 获取系统公告日志列表
	 * @date 2015年8月20日15:44:13
	 * @author zhouqi
	 * @param Pagination
	 * @return Pagination
	 */
	Pagination getSysNoticeLogList(Pagination page);
	
	/**
	 * @category 根据公告id查询公告
	 * @date 2015年8月20日15:44:13
	 * @author zhouqi
	 * @param String id
	 * @return SysNotice
	 */
	SysNotice getSysNoticeById(String sysNoticeId);
	
	/**
	 * @category 根据公告id查询公告日志
	 * @date 2015年8月20日15:44:13
	 * @author zhouqi
	 * @param String id
	 * @return SysNotice
	 */
	SysNoticeLog getSysNoticeLogById(String sysNoticeLogId);
	
	/**
	 * @category 新增公告
	 * @date 2015年8月20日15:44:13
	 * @author zhouqi
	 * @param String id
	 * @return SysNotice
	 */
	void saveSysNotice(SysNotice sysNotice);
	
	/**
	 * @category 新增公告日志
	 * @date 2015年8月20日15:44:13
	 * @author zhouqi
	 * @param String id
	 * @return SysNotice
	 */
    void saveSysNoticeLog(SysNoticeLog sysNoticLog);
    
    /**
	 * @category 更新公告
	 * @date 2015年8月21日08:31:45
	 * @author zhouqi
	 * @param SysNotice sysNotice
	 * @return SysNoticeLog
	 */
	public void updateSysNotice(SysNotice sysNotice);
	
	/**
	 * @category 更新公告日志
	 * @date 2015年8月21日08:31:45
	 * @author zhouqi
	 * @param SysNoticeLog sysNoticLog
	 * @return SysNoticeLog
	 */
	public void updateSysNoticeLog(SysNoticeLog sysNoticLog);
	
	/**
	 * @category 写日志
	 * @date 2015年8月21日08:31:45
	 * @author zhouqi
	 * @param SysNoticeLog sysNoticLog
	 * @return SysNoticeLog
	 */
	boolean writeLog(SysNotice sysNotice);
	
	/**
	 * @category 保存公告日志列表
	 * @date 2015年8月21日08:31:45
	 * @author zhouqi
	 * @param SysNoticeLog sysNoticLog
	 * @return SysNoticeLog
	 */
	public List<SysNoticeLog> getCompareLog(String sysNoticeId,String dateTime);
	
	/**
	 * @category 获取项目列表（查询用）
	 * @date 2015年8月21日08:31:45
	 * @author zhouqi
	 * @param SysNoticeLog sysNoticLog
	 * @return SysNoticeLog
	 */
	 List<BidProject> getProjectList();
	 /**
		 * @category 保存或者更新项目公告关系
		 * @date 2015年8月21日08:31:45
		 * @author zhouqi
		 * @param SysNoticeLog sysNoticLog
		 * @return SysNoticeLog
		 */
	public void saveOrUpdBidProjNotice(BidProjNotice bidProjNotice);
	
	/**
	 * @category 获取项目公告关系
	 * @date 2015年8月21日08:31:45
	 * @author zhouqi
	 * @param SysNoticeLog sysNoticLog
	 * @return SysNoticeLog
	 */
	public BidProjNotice getBidProjNoticeById(String projSysNoticeId);
	
	/**
	 * @category 写日志
	 * @date 2015年8月21日08:31:45
	 * @author zhouqi
	 * @param BidProjNoticeLog bidProjNoticeLog
	 * @return void
	 */
	public void writeLogOfProjNotice(BidProjNotice bidProjNotice);

	/**
	 * @category 根据公告id查询公告
	 * @date 2015年8月20日15:44:13
	 * @author zhouqi
	 * @param String id
	 * @return SysNotice
	 */
	List<SysNotice> getSysNoticeByTitle(String sysNoticeTitle);
	 

	/**
	 * @category 获取首页系统公告列表
	 * @author 韩守松
	 * @date   2015年11月16日
	 * @param  @param page
	 * @param  @return
	 */
	List<SysNotice> getHomeSysNoticeList(Pagination page);
}
